Refining Inductive Types

نویسندگان

  • Robert Atkey
  • Patricia Johann
  • Neil Ghani
چکیده

Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful information. For example, the N-indexed type of vectors refines lists by their lengths. Other data types may be refined in similar ways, but programmers must produce purpose-specific refinements on an ad hoc basis, developers must anticipate which refinements to include in libraries, and implementations must often store redundant information about data and their refinements. In this paper we show how to generically derive inductive characterisations of refinements of inductive types, and argue that these characterisations can alleviate some of the aforementioned difficulties associated with ad hoc refinements. Our characterisations also ensure that standard techniques for programming with and reasoning about inductive types are applicable to refinements, and that refinements can themselves be further refined.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Advances in SymbolicModel Checking Techniques

A common theme in symbolic model checking is to compute an inductive strengthening of the desired invariant, which forms a proof that no erroneous state can be reached by the system. The original symbolic model checking algorithm computed this inductive strengthening by computing (a hopefully succinct) representation of all reachable states by fixpoint computations and OBDDs. This set of reacha...

متن کامل

First Steps Towards Cumulative Inductive Types in CIC

We discuss our on-going research on making inductive types cumulative in the predicative calculus of inductive constructions (pCIC) – the logic of the Coq proof assistant. Having inductive types be cumulative alleviates some problems that occur while working with large inductive types, e.g., the category of small categories, in pCIC. We present the pCuIC system which adds cumulativity for induc...

متن کامل

Learning by Refining Algorithm Sketches

In this paper we suggest a mechanism that improves significantly the performance of a top-down inductive logic programming (ILP) learning system. This improvement is achieved at the cost of giving to the system extra information that is not difficult to formulate. This information appears in the form of an algorithm sketch: an incomplete and somewhat vague representation of the computation rela...

متن کامل

Mendler-Style Inductive Types, Categorically

We present a basis for a category-theoretic account of Mendler-style inductive types. The account is based on suitably defined concepts of Mendler-style algebra and algebra homomorphism; Mendler-style inductive types are identified with initial Mendler-style algebras. We use the identification to obtain a reduction of conventional inductive types to Mendler-style inductive types and a reduction...

متن کامل

Inductive Data Types Based on Fibrations Theory in Programming

Traditional methods including algebra and category theory have some deficiencies in analyzing semantics properties and describing inductive rules of inductive data types, we present a method based on Fibrations theory aiming at those questions above. We systematically analyze some basic logical structures of inductive data types about a fibration such as re-indexing functor, truth functor and c...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Logical Methods in Computer Science

دوره 8  شماره 

صفحات  -

تاریخ انتشار 2012